package sucre

import java.text.SimpleDateFormat

class SolicitudesController {

    def loginService
    def beforeInterceptor = [action:this.&auth]
    def auth = {
        def result =loginService.validarAcceso(
            session["seguridad_usuario"],
            session["seguridad_funcionesHabilitadas"],
            controllerName,actionName,request.getRemoteAddr().toString())
        if(!result) {
            redirect(controller:"login",action:"auth",params:['acceso':false])
            return false
        }
    }
    def index = {}
    // the delete, save and update actions only accept POST requests
    static allowedMethods = [delete:'POST', save:'POST', update:'POST']

    def parametersService
    def create = {
        def docenteInstance = new Alumno()
        params.eOc='edit'
        docenteInstance.properties = params
        //-----------busco el alumno que inicio session-------------------------
        def usuario = Usuario.findByLogin(session["seguridad_usuario"])
        docenteInstance=Docente.findByCorreo(usuario.email)
        return [docenteInstance:docenteInstance,eOc:params.eOc]
    }

   def constanciaDocente = {
       println "...............paramas: " + params
        def solicitante = null
        params.cargo = "Docente Asesor"
        solicitante = Docente.findByCedula(params.cedula)
        if (solicitante != null) {
            //------------Busco lapso academico-------------------------
            params.periodo = " desde el período académico " + solicitante.lapsoAcademico
        }
        
        //hay que definir que lleva el documento para poder terminar este reporte
        def data = new ArrayList();                
        SimpleDateFormat formatoDia = new SimpleDateFormat("dd")
        SimpleDateFormat formatoMes = new SimpleDateFormat("MM")
        SimpleDateFormat formatoAnio = new SimpleDateFormat("yyyy")
        
        String stringDia  = formatoDia.format(new Date())
        String stringMes  = formatoMes.format(new Date())
        String stringAnio = formatoAnio.format(new Date())
        
        String dia  = message(code:'reporte.dia.' + stringDia) + " ("+stringDia+")"
        String mes  = message(code:'reporte.mes.' + stringMes)
        String anio =  message(code:'reporte.anio.' + stringAnio) + "("+stringAnio+")"
        def aldea = Aldea.list().get(0)
        params.direccion = aldea.nombre + ". " + aldea.direccion + "."
        params.aldea = aldea.nombre
        params.dia = dia
        params.mes = mes
        params.anio = anio
        params._format="PDF"
        params._name="constanciaDeTrabajo"
        params._file="constanciaTrabajo"
        params.imgSucre = servletContext.getRealPath("/images/sucre.png")
        params.ubv = servletContext.getRealPath("/images/ubv.png")
        //-------------Busco datos de Coordinador-----------------------
        def coordinador = Coordinador.findByEstado(true)
        params.coordinador = coordinador.nombres + " " + coordinador.apellidos
        data.add(solicitante)
        
        chain(controller:'jasper',action:'index',model:[data:data],params:params)
    }
}
